package com.dng.book.service;

/**
 * Token服务接口
 *
 * @author dng
 * @since 2024-01-01
 */
public interface TokenService {

    /**
     * 生成Token并存储到Redis
     *
     * @param username 用户名
     * @return Token字符串
     */
    String generateAndStoreToken(String username);

    /**
     * 验证Token
     *
     * @param token Token字符串
     * @return 用户名，如果Token无效则返回null
     */
    String validateToken(String token);

    /**
     * 删除Token
     *
     * @param token Token字符串
     */
    void removeToken(String token);

    /**
     * 刷新Token过期时间
     *
     * @param token Token字符串
     * @return 是否刷新成功
     */
    boolean refreshToken(String token);
} 